<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>代码测试</title>
</head>
<body>
    
    <input>
<!-- 日期方法测试 -->
<script>

// console.log('2的幂',2 ** 3);
// let s = '' || 1; 
// console.log('s',s);

// function test(num1,num2){
//     try{
//         if(num2 === 0){
//             throw new Error("num2为0")
//         }
//         console.log('succ', num1 / num2);
    
    
//     }catch(error){
//         console.log('eeee',error);
        
   
//     }
// }

// test(10,0)

// console.log('test',test(10,2));
// console.log('test1',test(10,0));


let data={a:1,b:{a:1,b:2}};
let data1={...data.b,c:data.a}
console.log('data1',data1);
// let data = {a: 1, b: {a: 1, b: 2}};  
// let data1 = {...data.b, c: data.a}; // 同时复制data.b的属性和data的a属性值  
// console.log('data1', data1); // 输出: data1 { a: 1, b: 2 }


// let a={x:1,y:2,z:3};
// let {x,y}=a;
// console.log(x,y);

// const obj={a:1};
// obj.a=2;
// console.log('obj',obj);

// const f = 1;
// f=2;
// console.log('f',f);


// let params = {};

// if(p>0){
//     params={};
// }else{
//     params={};
// }

//let ltk = [];
// console.log('ltk',ltk);
// if( !ltk.length){
//     console.log('111');
    
// }

if(false){

}else{
    console.log('11');
    
}

let sdf = "FTN23434";

console.log('sdf',sdf.replace(/^(FTN|NRA)/, ''));
sdf.replace(/\D/g, '');
console.log('a',sdf.replace(/\D/g, ''));


for(let i=0; i<10; i++){
    console.log('i',i);
}

for(let i=0; i<10; i+=1){
    console.log('i',i);
}

//  false、0、""、null、undefined 、NaN

let obj1 = {a:1};
let arr = [];
let bb={a:1};
arr[0] = {a:bb.a};
//arr[0].a=1;
// arr.push(obj1);
console.log('数组',arr);
let aaa = 1 && 2;
console.log('aaa',aaa);

if(1){
    let obj1={a:1,b:{c:2}};
    let obj2={a:2,b:{c:3}}
    if(1){
         obj2.b={...obj1.b};    
    }
    console.log('1',obj2);
    
}

function isWithin30Days(targetDateStr) {
    // 解析目标日期（格式：YYYY-MM-DD）
    const targetDate = new Date(targetDateStr);
    const currentDate = new Date(); // 获取当前日期
    
    // 清除时间部分，仅比较日期
    targetDate.setHours(0, 0, 0, 0);
    currentDate.setHours(0, 0, 0, 0);
    
    // 计算时间差（毫秒）并转换为天数
    const delta = (currentDate - targetDate) / (1000 * 60 * 60 * 24);
    console.log('res',delta);
    
    // 判断是否在 0~30 天内（包含第 30 天）
    return delta >= 0 && delta <= 30;
}

// 示例测试
const targetDate = "2024-02-01";
const result = isWithin30Days(targetDate);
console.log(`当前日期是否在 ${targetDate} 的 30 天内？ ${result}`);

function hasDuplicateByKey(arr, key) {
    return arr.some((obj, index) => 
        arr.filter(item => item[key] === obj[key]).length > 1
    );
}

// 测试
const products = [
    { id: 101, name: "Apple" },
    { id: 102, name: "Banana" },
    { id: 103, name: "Apple" }, // 重复的 name
];
console.log(hasDuplicateByKey(products, "name")); // 输出: true
</script>

    
</body>
</html>